In graphics processing, frame buffers are used to store data that are needed by various processing pipelines. When a processing pipeline requests data from a frame buffer, the requested data is retrieved from the frame buffer and returned along a read return path via a read data buffer. The read data buffer is implemented as a first-in, first-out (FIFO) buffer and is placed in the read return path to buffer the requested data. This buffer ensures that the requested data arrives at the processing pipeline when the processing pipeline is ready to use it.
A simple example of how a read request from a processing pipeline is carried out is described below with reference to FIG. 1. As shown in FIG. 1, the processing pipeline 110 issues a series of read requests to a frame buffer 120. In response to the read requests, the frame buffer 120 retrieves the data, in the order they were requested, and writes them into the read data buffer 130, in the order they were retrieved, which is the same as the order they were requested. When the processing pipeline 110 is ready to use the requested data, it reads the data from the read data buffer 130, in the order they were written into the read data buffer 130, which is the same as the order they were retrieved from the frame buffer 120 and requested by the processing pipeline 110.